perm filename TOP1[AM,DBL] blob
sn#157723 filedate 1975-05-08 generic text, type T, neo UTF8
(FILECREATED " 8-MAY-75 02:39:38" TOP1.;10 14819
changes to: GLOBALVARS EXPR-IN ED-ALL NEW-VERSION TOP1COMS ACCEPT-B UNFORGETTABLE CANDS INIT-CANDS ACCESS CLASS
SUB-CANDS GLOB GEXEC1 GEXEC2 INIT-PART FILLIN TRIVB VERBOSITY GATH
previous date: " 7-MAY-75 23:10:35" TOP1.;8)
(LISPXPRINT (QUOTE TOP1COMS)
T T)
[RPAQQ TOP1COMS
((FNS ACCEPT-B ACCESS ADD-CANDS AM-BT CHANGE-B CLASS COMMENT DE-THRESH ED-1F ED-1P ED-1V ED-ALL ED-ALLF
ED-ALLP ED-ALLV EXPR-IN FIND-NEW-CANDS FORGOT-ANY IN-FACTOR INIT1 INIT2 INIT-C LESS-INT LISTFILES MCON
MORE-INT MTOP NEW-VERSION PRUNABLE PRUNE SELF SFIND START SUB-CANDS GLOB GEXEC1 GEXEC2 INIT-PART FILLIN
GATH TLOOP UNFORGETTABLE UP-THRESH UPDATE)
CAND-TAIL CANDS DO-THRESH FROB FROB1 FROB2 GLOB GLOBALVARS INIT-CANDS INIT-PAST INIT-DOTHRESH INIT-INTHRESH
INTHRESH PAST STICKY-B STICKY-P SYS-FORGET-LIST TOP-ACTS TRIVB VERBOSITY VERSION (P (INIT1))
(DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA COMMENT CLASS)
(NLAML SELF MTOP MCON]
(DEFINEQ
(ACCEPT-B
[LAMBDA (B SIM F1)
(SETQ CONCEPTS (CONS B CONCEPTS))
(TERPRI)
[COND
((MEMB SIM CONCEPTS))
((PRIN1 "NAME OF SIMILAR BEING... ")
(SETQ SIM (RATOM]
(TERPRI)
(SETQ F1 (GETP SIM (QUOTE FILE)))
[COND
([PUTD B (COPY (GETP SIM (QUOTE EXPR]
(PRIN1 "DON'T "))
(T (LOADFNS SIM F1 (QUOTE PROP))
(PUTD B (COPY (GETP SIM (QUOTE EXPR]
(PRIN1 "HAVE TO LOAD EXPR FROM ")
(PRINT F1)
(EVAL (LIST (QUOTE EDITF)
B -1 (QUOTE P)
(QUOTE TTY:)))
(SETQ LAPFLG)
(SETQ SVFLG (SETQ STRF T))
(TERPRI)
(COMPILE1 B (GETD B))
(PRIN1 "THE NUMBER OF CONCEPTS IS NOW ")
(PRINT (LENGTH CONCEPTS))
B])
(ACCESS
[LAMBDA (A)
A])
(ADD-CANDS
[LAMBDA (C)
(MERGE C CANDS (QUOTE MORE-INT])
(AM-BT
[LAMBDA (V1)
(MAPDL (FUNCTION (LAMBDA (DX)
(COND
((OR (MEMB DX (CAR TOP1COMS))
(MEMB DX CONCEPTS))
(PRIN1 DX)
(COND
((SETQ V1 (VARIABLES MAPDLPOS))
(TERPRI)
(PRIN1 " ")
(PRINT V1)
(PRIN1 " ")
(PRINT (STKARGS MAPDLPOS)))
((PRIN1 " ---NO ARGS")
(TERPRI])
(CHANGE-B
[LAMBDA (B P CP)
[COND
((MEMB B FACETS)
(SETQ P B)
(PRINT (SETQ B STICKY-B)))
[(MEMB B CONCEPTS)
(COND
((MEMB P FACETS))
((PRINT (SETQ P STICKY-P]
(B (TERPRI)
(PRIN1 "***** CANT UNDERSTAND THIS *****")
(HELP))
(T (PRINT (SETQ B STICKY-B))
(PRINT (SETQ P STICKY-P]
(SETQ STICKY-B B)
(SETQ STICKY-P P)
[COND
[(ERRORSET (LIST (QUOTE EDITF)
B
(QUOTE F)
P
(QUOTE P)
(QUOTE TTY:]
(T (TERPRI)
(PRIN1 "THAT PART IS NOT IN THAT CONCEPT YET")
(TERPRI)
(ERRORSET (LIST (QUOTE EDITF)
B -1 (LIST -3 (LIST P (QUOTE FILL-THIS-IN)))
3
(QUOTE P)
(QUOTE TTY:]
(SETQ CP (PACK (LIST (QUOTE C-)
P)))
(COND
((MEMB CP FACETS)
(TERPRI)
(PRIN1 "COMPILE THIS??? (Y OR N)... ")
(COND
((EQ (RATOM)
(QUOTE Y)) (* ADD A COPY WITHOUT QUOTES)
(ERRORSET (LIST (QUOTE EDITF)
B
(QUOTE F)
P
(QUOTE UP)
(LIST (QUOTE INSERT)
(LIST (QUOTE ##)
1)
(QUOTE BEFORE)
1)
1
(LIST 1 CP)
(LIST (QUOTE BO)
2)
(LIST 2)
0
(QUOTE P))
T))
(T (* JUST ADD CP TO P KEY OF SELECTQ)
(ERRORSET (LIST (QUOTE EDITF)
B
(QUOTE F)
P
(LIST 1 (LIST CP P))
(QUOTE P])
(CLASS
[NLAMBDA X
(CONS (QUOTE CLASS)
X])
(COMMENT
[NLAMBDA X
(CONS (QUOTE COMMENT)
X])
(DE-THRESH
[LAMBDA NIL
(SETQ DO-THRESH (IQUOTIENT (ITIMES DO-THRESH 2)
3))
(COND
((IGREATERP VERBOSITY 7)
(PRIN1 " DO-THRESH REDUCED TO ")
(PRINT DO-THRESH])
(ED-1F
[LAMBDA (F1)
(AND (EXPR-IN F1)
(ERRORSET (CONS (QUOTE EDITF)
(CONS F1 ECMS)))
(PRIN1 F1)
(PRIN1 " "])
(ED-1P
[LAMBDA (P1)
(AND (CDR P1)
(ERRORSET (CONS (QUOTE EDITP)
(CONS P1 ECMS)))
(PRIN1 P1)
(PRIN1 " "])
(ED-1V
[LAMBDA (V1)
(AND (LITATOM V1)
(LISTP (CAR (ERRORSET V1)))
(ERRORSET (CONS (QUOTE EDITV)
(CONS V1 ECMS)))
(PRIN1 V1)
(PRIN1 " "])
(ED-ALL
[LAMBDA (EECMS)
(SETQ ECMS EECMS)
(ED-ALLF)
(ED-ALLV)
(ED-ALLP])
(ED-ALLF
[LAMBDA NIL
(MAPC (CDAR TOP1COMS)
(QUOTE ED-1F))
(MAPC CONCEPTS (QUOTE ED-1F])
(ED-ALLP
[LAMBDA NIL
(MAPC CONCEPTS (QUOTE ED-1P])
(ED-ALLV
[LAMBDA NIL
(MAPC TOP1COMS (QUOTE ED-1V))
(MAPC CON1COMS (QUOTE ED-1V])
(EXPR-IN
[LAMBDA (B)
[COND
((GETP B (QUOTE EXPR)))
[(PUT B (QUOTE EXPR)
(LISTP (GETD B]
[(ERSETQ (LOADFNS B (GETP B (QUOTE FILE))
(QUOTE PROP]
(T (TERPRI)
(PRIN1 "***** WARNING: ")
(PRIN1 B)
(PRIN1 " IS NOT FINDABLE. DEFINING IT AS: ")
(TERPRI)
(PRINT (PUT B (QUOTE EXPR)
TRIVB]
(PUTD B (GETP B (QUOTE EXPR])
(FIND-NEW-CANDS
[LAMBDA NIL
(COND
((IGREATERP VERBOSITY 6)
(PRIN1 " MUST FIND NEW CANDS. ")
(TERPRI)))
(SETQ NEW-CANDS T)
(SETQ INTHRESH (IN-FACTOR DO-THRESH))
(MERGE (COND
((MAPCONC CONCEPTS (QUOTE UNFORGETTABLE)))
((SETQ NEW-CANDS)))
CANDS
(QUOTE MORE-INT))
(COND
(NEW-CANDS)
(T (DE-THRESH)
(COND
((IGREATERP VERBOSITY 3)
(PRIN1 "
THERE WERE NO INTERESTING ACTIVITIES FOUND ON A SWEEP. ")
(TERPRI)))
(FIND-NEW-CANDS])
(FORGOT-ANY
[LAMBDA (FF)
(TERPRI)
(PRIN1 "MAYBE YOU FORGOT SOME OF THESE: ")
[MAPATOMS (FUNCTION (LAMBDA (X)
(AND (EXPRP X)
(NOT (MEMB X (CAR TOP1COMS)))
(NOT (MEMB X CONCEPTS))
(NOT (MEMB X SYS-FORGET-LIST))
(PRIN1 X)
(PRIN1 (QUOTE % % ))
(SETQ FF T]
(COND
(FF (TERPRI)
(PRINT (QUOTE THINK!!!)))
(T (PRIN1 " NEVER MIND. ")))
(TERPRI])
(IN-FACTOR
[LAMBDA (N)
(IQUOTIENT N 5])
(INIT1
[LAMBDA NIL
(CLDISABLE (QUOTE -))
(WIDEPAPER T)
[INTERRUPTCHAR 24 (QUOTE (PROGN (TERPRI)
(PRIN1 " *** INTEREST LEVEL IS ")
(PRINT DO-THRESH]
[INTERRUPTCHAR 25 (QUOTE (PROGN (TERPRI)
(PRIN1 " *** NUMBER OF CANDS IS ")
(PRINT (LENGTH CANDS]
[INTERRUPTCHAR 26 (QUOTE (PROGN (TERPRI)
(PRIN1 " *** INTEREST ")
(PRIN1 DO-THRESH)
(PRIN1 ", ")
(PRIN1 INTHRESH)
(PRIN1 ", NCANDS=")
(PRIN1 (LENGTH CANDS))
(PRIN1 ", CAND=")
(PRINT CAND]
(TERPRI)
(PRIN1 "YOU PROBABLY WANT TO LOAD IN THE FILE CON1 NOW")
(TERPRI])
(INIT2
[LAMBDA NIL
(SETQ DFNFLG T)
(SETQ LISPXHISTORY)
(SETQ EDITHISTORY])
(INIT-C
[LAMBDA NIL
(SETQ HCON (HARRAY 503))
[MAPC CONCEPTS (FUNCTION (NLAMBDA (C)
(PUTHASH C 1 HCON]
(PRIN1 "THE NUMBER OF CONCEPTS IS ")
(PRINT (LENGTH CONCEPTS))
(MAPC FACETS (QUOTE SELF])
(LESS-INT
[LAMBDA (A B)
(ILESSP (CAR A)
(CAR B])
(LISTFILES
[LAMBDA (X)
[COND
((NULL X)
(TERPRI)
(PRIN1 "NO MORE FILES TO LIST JUST NOW ")
(TERPRI))
((ATOM X)
(SETQ X (LIST X]
(TERPRI)
(PRIN1 "SUPPRESSION OF FILE LISTING. ")
(MAPC X (FUNCTION (LAMBDA (X1)
(SETQ X1 (UNPACK X1))
[SETQ X1 (PACK (LDIFF X1 (MEMB (QUOTE ;)
X1]
(TERPRI)
(PRIN1 (CONCAT "SHOULD I FTP THE FILE " X1 " OVER TO SAIL? (Y,N)..."))
(COND
((EQ (RATOM)
(QUOTE Y))
(TENEX (CONCAT "FTP
SAIL
LOG AM,DBL MER
SEND " X1 "≠
" X1 "
QUIT
"])
(MCON
[NLAMBDA (X)
(SETQ CONCEPTS (SORT (COPY CONCEPTS)))
(FORGOT-ANY)
(MAKEFILE (QUOTE CON1)
(QUOTE RC])
(MORE-INT
[LAMBDA (A B)
(IGREATERP (CAR A)
(CAR B])
(MTOP
[NLAMBDA (X)
[RPLACA TOP1COMS (CONS (QUOTE FNS)
(MERGE X (CDAR TOP1COMS]
(FORGOT-ANY)
(MAKEFILE (QUOTE TOP1)
(QUOTE RC])
(NEW-VERSION
[LAMBDA (NAME VNEW V OLD NEW)
(COND
(V)
((SETQ V VERSION)))
(SETQ OLD (PACK (LIST NAME V)))
[SETQ NEW (PACK (LIST NAME (OR VNEW (ADD1 V]
[NLSETQ (SET (PACK (LIST NEW (QUOTE COMS)))
(EVAL (PACK (LIST OLD (QUOTE COMS]
(PRIN1 (CONCAT "OLD: " OLD ", NEW: " NEW ", V:" V ", ECMS: " ECMS))
(ED-ALL (LIST (QUOTE RC) OLD NEW])
(PRUNABLE
[LAMBDA (C)
(ILESSP (CAR C)
INTHRESH])
(PRUNE
[LAMBDA (N)
(FRPLACD (SOME CANDS (QUOTE PRUNABLE))
NIL])
(SELF
[NLAMBDA (X)
(SET X X])
(SFIND
[LAMBDA (L P)
(FASSOC P (CDDR (CADDR L])
(START
[LAMBDA NIL
(SETQ DO-THRESH INIT-DOTHRESH)
(SETQ INTHRESH INIT-INTHRESH)
(SETQ CANDS (COPY INIT-CANDS))
(SETQ PAST (COPY INIT-PAST))
(TERPRI)
(PRIN1 "ENTERING MAIN LOOP NOW.")
(TERPRI)
(TERPRI)
(TLOOP)
(TERPRI)
(PRIN1 "RE-")
(START])
(SUB-CANDS
[LAMBDA (SL)
(MAPC SL (FUNCTION (LAMBDA (S)
(SOME CANDS (FUNCTION (LAMBDA (C)
(AND (EQUAL (CDR C)
(CDR S))
(RPLACA C (IQUOTIENT (CAR C)
2])
(GLOB
[LAMBDA (GV)
[COND
((AND GV (NLISTP GV))
(SETQ GV (LIST GV]
(MERGE GV GLOBALVARS])
(GEXEC1
[LAMBDA (GB)
(NCONC EXISTING (APPLY* GB (QUOTE FILLIN1])
(GEXEC2
[LAMBDA (GB)
(NCONC EXISTING (APPLY* GB (QUOTE FILLIN2])
(INIT-PART
[LAMBDA (B P)
(ATTACH (LIST (QUOTE P)
(LIST (QUOTE CLASS)))
(CDDR (CADDR (EXPR-IN B])
(FILLIN
[LAMBDA (XVAL FILL-TYPE EXISTING)
(EXPR-IN CS-B)
(SETQ GATH-PART CS-P)
(COND
[(SETQ EXISTING (CADR (SFIND (GET CS-B (QUOTE EXPR]
((INIT-PART CS-B CS-P)))
(SETQ GPGM (LIST T))
(GATH CS-B)
[SETQ GLEN (LENGTH (SETQ GPGM (CDR GPGM] (* GPGM NOW CONTAINS A LIST OF
(B,P) PAIRS TO ACCESS TO FILL IN CS-P
PART OF CS-B BEING)
(COND
[(NEQ GLEN 0)
(COND
((IGREATERP VERBOSITY 9)
(PRIN1 " THE GPGM TO FILL IN ")
(PRIN1 CS-B)
(PRIN1 ",")
(PRIN1 CS-P)
(PRINT " IS:")
(PRINT GPGM)))
(MAPC GPGM (QUOTE GEXEC1))
(MAPC (DREVERSE GPGM)
(QUOTE GEXEC2))
(LIST (LIST 400 (QUOTE RE-JUDGE)
(LIST CS-B CS-B]
(T (COND
((GREATERP VERBOSITY 3)
(PRIN1 "****WARNING: UNABLE TO FIND ANY RELE INFOR TO FILL IN ")
(PRINT CS-B)
(PRINT CS-P)
(TERPRI])
(GATH
[LAMBDA (B GENB GENP)
(COND
((SETQ GENB (APPLY* B (QUOTE UP)
(QUOTE FILLIN)))
(COND
((GETHASH (SETQ GENP (PACK (LIST GENB (QUOTE -)
GATH-PART)))
HCON)
(ATTACH (LIST GENB GENP)
GPGM)))
(GATH GENB])
(TLOOP
[LAMBDA NIL
(PRIN1 "
VERBOSITY LEVEL (0-10) .... ")
(SETQ VERBOSITY (RATOM))
(PROG NIL
L1 (COND
((ILESSP (CAAR CANDS)
DO-THRESH)
(FIND-NEW-CANDS)))
(SETQ CAND (CAR CANDS))
(COND
((IGREATERP VERBOSITY 5)
(PRIN1 " THE CANDIDATE IS ")
(PRINT CAND)))
(SETQ CANDS (CDR CANDS))
[COND
(CANDS)
((SETQ CANDS (COPY CAND-TAIL]
(COND
[(SASSOC CAND PAST)
(COND
((IGREATERP VERBOSITY 3)
(PRIN1 "REPEATER CANDIDATE SKIPPED")
(TERPRI)))
(DE-THRESH)
(COND
((ZEROP DO-THRESH)
(TERPRI)
(HELP "***** AM FATAL COLLAPSE *****" " DO-THRESH IS IDENTICALLY ZERO ")
(TERPRI]
((SETQ CS-INT (CAR CAND))
(SETQ CS-OP (CADR CAND))
(SETQ CS-ACT (CADDR CAND))
(SETQ CS-B (CAR CS-ACT))
(SETQ CS-P (CADR CS-ACT))
(SETQ CVAL (EVAL (CDR CAND)))
(UPDATE)))
(GO L1])
(UNFORGETTABLE
[LAMBDA (B P I F ARG1)
(* EACH C-SUGGESTS PART IS ORDERED: FIRST, WHEN TO DEFINITELY REJECT RECOGNITION;
NEXT, WHEN TO DEFINITELY ACCEPT IT. IF IT ACCEPTS, THE BEING DECIDES ON PART P, INTEREST LEVEL I,
FUNCTION TO DO TO IT F, AND THEN RETURNS (I F (B P ARGS)))
(APPLY* B (QUOTE C-SUGGESTS)
INTHRESH])
(UP-THRESH
[LAMBDA NIL
(SETQ DO-THRESH (IQUOTIENT (IPLUS DO-THRESH (CAR CAND))
2])
(UPDATE
[LAMBDA NIL
(UP-THRESH)
(SETQ INTHRESH (IN-FACTOR DO-THRESH))
(PRUNE INTHRESH)
(SETQ PAST (ATTACH (CONS CAND CVAL)
(DREMOVE (CAR (FLAST PAST))
PAST])
)
[RPAQQ CAND-TAIL ((0 PRINT (QUOTE TAIL-MARK]
[RPAQQ CANDS ((700 PRINT (C1 MSG))
(327 PRIN1 (C1 C-SUGGESTS))
(655 PRIN1 (C1 C-SUGGESTS))
(320 PRINT (C2 P22))
(640 PRINT (C2 P22))
(22 AND (C1 C-SUGGESTS))
(0 PRIN1 (QUOTE TAIL-MARK]
(RPAQQ DO-THRESH 1535)
(RPAQQ FROB 400)
(RPAQQ FROB1 300)
(RPAQQ FROB2 600)
(RPAQQ GLOB NOBIND)
(RPAQQ GLOBALVARS
(CAND CAND-TAIL CANDS CON1COMS CONCEPTS CS-ACT CS-B CS-INT CS-OP CS-P CVAL DO-THRESH ECMS FACETS FROB FROB1
GATH-PART GLEN GPGM HCON INIT-CANDS INIT-DOTHRESH INIT-INTHRESH INIT-PAST INTHRESH NEW-CANDS PAST
STICKY-B STICKY-P SYS-FORGET-LIST TOP-ACTS TOP1COMS TRIVB VERBOSITY VERSION))
[RPAQQ INIT-CANDS ((700 PRINT (C1 MSG))
(655 PRIN1 (C1 C-SUGGESTS))
(655 PRIN1 (C1 C-SUGGESTS))
(640 PRINT (C2 P22))
(640 PRINT (C2 P22))
(22 AND (C1 C-SUGGESTS))
(0 PRIN1 (QUOTE TAIL-MARK]
(RPAQQ INIT-PAST ((A B)
(C D)
(E F)
(G H)
(I J)
(K L)
(M N)
(O P)
(Q R)
(S T)))
(RPAQQ INIT-DOTHRESH 1535)
(RPAQQ INIT-INTHRESH 1000)
(RPAQQ INTHRESH 1000)
(RPAQQ PAST ((A B)
(C D)
(E F)
(G H)
(I J)
(K L)
(M N)
(O P)
(Q R)
(S T)))
(RPAQQ STICKY-B C1)
(RPAQQ STICKY-P SUGGESTS)
(RPAQQ SYS-FORGET-LIST (MAKESYS OBIN FGETP OSIN SYSOUT OSFBSZ PUTDQ))
(RPAQQ TOP-ACTS (ACCESS ADD-CANDS CHECK EVAL EXPR-IN FILLIN GOAL INIT-PART INSTANTIATE PRINT RE-JUDGE RE-STRUC
SUB-CANDS TRANSLATE))
[RPAQQ TRIVB (LAMBDA (P A)
(SELECTQ P (P (CLASS))
(P (CLASS))
(P (CLASS))
(MSG (COMMENT TRIVIALITY))
(PROGN (COMMENT SORRY, NO SUCH PART)
NIL]
(RPAQQ VERBOSITY 22)
(RPAQQ VERSION 1)
(INIT1)
[DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS
(ADDTOVAR NLAMA COMMENT CLASS)
(ADDTOVAR NLAML SELF MTOP MCON)
]
(DECLARE: DONTCOPY
(FILEMAP (NIL (1090 12914 (ACCEPT-B 1102 . 1799) (ACCESS 1803 . 1834) (ADD-CANDS 1838 . 1901) (AM-BT 1905 . 2287)
(CHANGE-B 2291 . 3822) (CLASS 3826 . 3879) (COMMENT 3883 . 3940) (DE-THRESH 3944 . 4136) (ED-1F 4140 . 4271) (ED-1P
4275 . 4402) (ED-1V 4406 . 4568) (ED-ALL 4572 . 4667) (ED-ALLF 4671 . 4775) (ED-ALLP 4779 . 4837) (ED-ALLV 4841 .
4934) (EXPR-IN 4938 . 5320) (FIND-NEW-CANDS 5324 . 5847) (FORGOT-ANY 5851 . 6298) (IN-FACTOR 6302 . 6349) (INIT1 6353
. 7013) (INIT2 7017 . 7109) (INIT-C 7113 . 7340) (LESS-INT 7344 . 7406) (LISTFILES 7410 . 7980) (MCON 7984 . 8115)
(MORE-INT 8119 . 8187) (MTOP 8191 . 8350) (NEW-VERSION 8354 . 8736) (PRUNABLE 8740 . 8802) (PRUNE 8806 . 8884) (SELF
8888 . 8925) (SFIND 8929 . 8984) (START 8988 . 9291) (SUB-CANDS 9295 . 9492) (GLOB 9496 . 9606) (GEXEC1 9610 . 9682)
(GEXEC2 9686 . 9758) (INIT-PART 9762 . 9877) (FILLIN 9881 . 10966) (GATH 10970 . 11230) (TLOOP 11234 . 12233) (
UNFORGETTABLE 12237 . 12607) (UP-THRESH 12611 . 12712) (UPDATE 12716 . 12911)))))
STOP